package org.dxy.middleware.dynamic.thread.pool.domain.command;

import lombok.Builder;

import java.util.concurrent.TimeUnit;

@Builder
public record RegisterThreadPoolCommand(
        /** 应用名称 */
        String appName,

        /** 线程池名称 */
        String threadPoolName,

        /** 核心线程数 */
        int corePoolSize,

        /** 最大线程数 */
        int maximumPoolSize,

        /** 队列容量 */
        int queueCapacity,

        /** 队列类型，例如：LinkedBlockingQueue、ArrayBlockingQueue 等 */
        String queueType,

        /** 非核心线程空闲时长数值 */
        long keepAliveTimeValue,

        /** 非核心线程空闲时长单位 */
        TimeUnit keepAliveTimeUnit,

        /** 核心线程是否允许超时回收 */
        boolean allowCoreThreadTimeOut
) {
}
